# 使用Node.js镜像作为基础镜像
FROM node:17-alpine AS build-env
# 设置工作目录
WORKDIR /app
# 复制package.json和package-lock.json文件到工作目录
COPY package*.json ./
RUN npm i pnpm -g
# 安装项目依赖
RUN pnpm i
# 复制React项目文件到工作目录
COPY . .
# 构建React项目
RUN pnpm run build

# 使用Nginx作为基础镜像
FROM nginx:alpine
# 将React项目静态资源复制到Nginx的默认站点目录
RUN rm -rf /etc/nginx/conf.d/default.conf
COPY --from=build-env /app/rock/ /usr/share/nginx/html/rock/
COPY --from=build-env /app/config/nginx.conf /etc/nginx/nginx.conf
# 暴露Nginx容器的80端口
EXPOSE 80
# 启动Nginx服务
CMD ["nginx", "-g", "daemon off;"]